#include "stdafx.h"
#include "IDManager.h"
#include "Network.h"
#include "GMToolServerDBMsgParser.h"

IDManager::IDManager()
{
}


IDManager::~IDManager()
{
}

void IDManager::IDMsgParser(DWORD dwConnectionIndex, char * pMsg, DWORD dwLength)
{
	MSGROOT* pTempMsg = (MSGROOT*)pMsg;
	switch (pTempMsg->Protocol)
	{
		case GM_ID_INITINFO_GET_SYN:
			{
				LoadIDInitInfo(dwConnectionIndex);
			}
			break;
		case GM_ID_INFO_GET_SYN:
			{
				IDQuery((MSG_ID_INFO*)pMsg, dwConnectionIndex);
			}
			break;
		case GM_ID_CHAR_INFO_SYN:
			{
				MSGBASE * pmsg = (MSGBASE*)pMsg;
				IDCharInfoQuery(dwConnectionIndex,pmsg->dwObjectID);
			}
			break;
		case GM_ID_UPDATE_SYN:
			{
				IDUpdateLoginID((MSG_ID_INFO*)pMsg);
			}
			break;
		case GM_ID_REG_SYN:
			{
				RegQueryEx(dwConnectionIndex, (MSG_ID_INFO*)pMsg);
			}
			break;
		case GM_ID_DISABLE_SYN:
			{
				MSGREG * pmsg = (MSGREG*)pMsg;
				DisableID(dwConnectionIndex, pmsg->ID);
			}
			break;
		case GM_ID_NODISABLE_SYN:
			{
				MSGREG * pmsg = (MSGREG*)pMsg;
				NoDisableID(dwConnectionIndex, pmsg->ID);
			}
			break;
		case GM_ID_GOLD_ADD_SYN:
			{
				MSGREG * pmsg = (MSGREG*)pMsg;
				AddGoldMoney(dwConnectionIndex, pmsg->ID,pmsg->dwMoney);
			}
			break;
		case GM_ID_GOLD_CLEAR_SYN:
			{
				MSGREG * pmsg = (MSGREG*)pMsg;
				ClearGoldMoney(dwConnectionIndex, pmsg->ID);
			}
			break;
		case GM_ID_USERTOGM_SYN:
			{
				MSGREG * pmsg = (MSGREG*)pMsg;
				IDUserToGM(dwConnectionIndex, pmsg->ID);
			}
			break;
		case GM_ID_GMTOUSER_SYN:
			{
				MSGREG * pmsg = (MSGREG*)pMsg;
				IDGMToUser(dwConnectionIndex, pmsg->ID);
			}
			break;
		case GM_ID_MALL_CLEAR_SYN:
			{
				MSGREG * pmsg = (MSGREG*)pMsg;
				ClearMallMoney(dwConnectionIndex, pmsg->ID);
			}
			break;
		default:
			break;
	}
}
